#pragma once
#include "Global.h"
#include <vector>
using namespace std;

class CBoolCondUnit
{
public:
	CBoolCondUnit();
	~CBoolCondUnit();

	virtual bool operator() ()
	{
		return false;
	}

	virtual bool operator() (int a_CurIndex)
	{
		return false;
	}
};

struct BoolCondCheck
{
	bool operator() (CBoolCondUnit* a_Cond)
	{
		return (*a_Cond)();
	}
};

struct BoolIndexedCondCheck
{
	bool operator() (CBoolCondUnit* a_Cond, int a_Index)
	{
		return (*a_Cond)(a_Index);
	}
};


typedef vector<CBoolCondUnit*> BoolCondVec;
